Web application server (web AS) platforms are commercially available from a number of vendors, such as SAP Web Application Server, available from SAP AG, Walldorf, Germany; Apache HTTP Server, version 2.2.0, available from Apache HTTP Server Project, Apache Software Foundation; and Internet Information Services (IIS) 6.0, available from Microsoft Corporation, Redmond, Wash.
A web AS platform generally is hardware platform-independent, and highly scalable using sophisticated session, caching, dispatching, and messaging techniques in a distributed computing environment. Web AS may employ a number, or cluster, of web application server (AS) instances, each of which may support a number of work processes for providing services. The cluster of web AS instances may be distributed over one or more computing platforms, and typically communicate with each other via a messaging service.
A web application server instance comprises a business environment, a relational database, and an internet connection manager. The business environment is responsible for the business content and underlying logic of the enterprise, published, for example, using the Business Server Pages/Java Server Pages. SAP's web application server comprises an ABAP environment in which existing components, such as business objects, can be used for the business logic. SAP's web application server further comprises a J2EE environment that processes requests passed from the ICM and dynamically generates responses, enabling web application developers to create web applications that include presentation and business logic using standard Java or J2EE technology. The relational database provides a repository for enterprise data. The internet connection manager (ICM) is an independent process responsible for communications between a Web AS instance and external client devices over intranets or the Internet using standard protocols like HTTP, HTTPS, and Simple Mail Transfer Protocol (SMTP).
While standard protocols and architectures are provided for external communications with the “front end” of a web AS, that is, communications between a web client on the Internet and the web AS, “back end” or internal services, protocols and architectures used in communications between application server instances may not be standardized. These internal communications might include, for example, communications between worker processes in an application server instance as well as communications between application server instances, and involve a proprietary communication architecture, such as a shared memory-based communication channel.
Use of proprietary internal services, protocols, and communication architectures makes difficult the reuse and/or porting of such services and protocols implemented in one web AS platform to another web AS platform. Additionally, internal services may use separate application programmatic interfaces to communicate with each other, even though the functionality provided by the APIs may overlap or be very similar, wasting memory and resources to develop, operate and maintain.